﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Entity;

namespace proyectoferreteria
{
    public partial class frmproducto : System.Web.UI.Page
    {
        bdferreteriaEntities contex = new bdferreteriaEntities();

        private void cargarcomboMarca()
        {
            var marca = from a in contex.marca
                        select a;
            this.cbmarca.DataSource = marca;
            this.cbmarca.DataTextField = "nombre_marca";
            this.cbmarca.DataValueField = "idmarca";
            this.cbmarca.DataBind();
        }
        private void cargarcomboSubcategoria()
        {
            var subcategoria = from a in contex.subcategoria
                               select a;
            this.cbsubcateg.DataSource = subcategoria;
            this.cbsubcateg.DataTextField = "nombre_subcategoria";
            this.cbsubcateg.DataValueField = "idsubcategoria";
            this.cbsubcateg.DataBind();
        }
        private void cargarObjetoProducto(ref producto objproducto)
        {
            objproducto.idproducto = long.Parse(this.txbidproducto.Text);
            objproducto.nombre_producto = this.txbnombprod.Text;
            objproducto.pc = long.Parse(this.txbpc.Text);
            objproducto.pv = long.Parse(this.txbpv.Text);
            objproducto.cantidad = long.Parse(this.txbcant.Text);
            objproducto.descripcion = this.txbdescrip.Text;
            objproducto.idmarca = long.Parse(this.cbmarca.SelectedValue.ToString());
            objproducto.idsubcategoria = long.Parse(this.cbsubcateg.SelectedValue.ToString());
            objproducto.img1 = this.FileUpload1.FileBytes;
            objproducto.nombre_imagen = this.FileUpload1.FileName;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.cargarcomboMarca();
                this.cargarcomboSubcategoria();
            }
        }

        protected void btnregistrar_Click(object sender, EventArgs e)
        {
            producto objproducto = new producto();

            //long idproducto = long.Parse( txbidproducto.Text);
            
            long idproducto = (from p in contex.producto select p.idproducto).Max() + 1;
            this.txbidproducto.Text = idproducto.ToString();

            this.cargarObjetoProducto(ref objproducto);
            contex.producto.AddObject(objproducto);

            if (contex.SaveChanges() == 1)
            {
                this.Label10.Text = "Producto registrado..... !!!";
            }
            else
            {
                this.Label10.Text = "Error al registrar producto.... !!!";
            }
        }

        protected void btnmodificar_Click(object sender, EventArgs e)
        {
            long id = long.Parse(this.txbidproducto.Text);
            producto objproducto = contex.producto.FirstOrDefault(a => a.idproducto == id);
            this.cargarObjetoProducto(ref objproducto);


            int nroActualizacion = contex.SaveChanges();
            if (nroActualizacion > 0)
            {
                this.Label10.Text = "Producto modificado con exito...!!!";

            }
            else
            {
                this.Label10.Text = "Error al modificar producto";
            }
        }

        protected void btnimprimir_Click(object sender, EventArgs e)
        {

        }
    }
}